Chapter 10
Advanced Features

Sub-Levels 

Sub-levels is an advanced topic intended for experienced users. 

As we mentioned in Chapter 5Training Voice Commands, the structure of Simon's vocabulary is very similar to the structure of files and folders in your NeXT File Viewer. The commands for each application are divided into levels. The levels are like folders in your File Viewer. Just as one folder can lead to several other folders and files, one level of commands can lead to several other levels of commands.

As a rule, only one level of commands, plus the commands in the Common Words folder, is available at any one time. In this way Simon operates like any NeXT application. At any given time, Simon recognizes only those commands that are available at that time (at the active level). 

One of the more advanced features of Simon Says is the ability to create a Sub-level for a particular command in Simon's vocabulary. Once you say a Sub-level command, Simon listens only for the specific commands you've defined. You can set up a Sub-level so that Simon automatically moves back up to the previous level after you've given a single command in the Sub-level. Or, Sub-levels can be set up so that Simon continues listening for commands in the Sub-level until hearing the command ªUp A Level.º

The benefits of creating a Sub-level are: 

·	Increased accuracy and recognition speed while in the Sub-level
·	Provides a convenient organizational structure
·	Allows you to make Simon even more interactive

Following is a short example of how you might configure a Sub-level:

For instance, let's say you would like to use Simon Says to sort incoming mail into one of four mailboxes called Friends, Co-workers, Contacts, and Other. You might first add a Sub-level command called Transfer to the Mail folder. Then using the Keystroke object, create macros for transferring mail to each of the four mailboxes and add these to the Transfer Sub-level. Just for fun, you might even attach a Sound object to the Transfer command that responds, ªWhich mailbox? Friends, Co-workers, Contacts or Other.º

After speaking the ªTransferº command in Mail, you would be prompted with the verbal response, ªWhich mailbox? Friends, Coworkers, Contacts or Other.º You might respond ªCo-workersº to transfer the message to that mailbox. 

Creating Sub-Levels

To create a Sub-level:

1.	Select the location for your Sub-level in the browser. 
Normally, Sub-level commands belong in an application's folder. 

2.	Type the name for your sub-level in the text field beneath the browser, then click Add. 
The command appears in italic in the browser. 

3.	Select the command you've just added, then click Sub-level. 
An alert panel appears asking if you'd like to make this command a Sub-level; click OK. 

There are two Sub-level options on the panel:

·	Automatically move up a levelAfter hearing a single command in the Sub-level, Simon automatically moves up to the previous level.
·	Move up after saying ªUp A LevelºSimon continues listening in the sub-level until hearing ªUp A Levelº

4.	Make your selection, then click OK. 
The command is now a Sub-level command and appears as a folder in the browser. You can now add commands to the sub-level. 

5.	Type the name of the first Sub-level command in the text field beneath the browser, then click Add. 
Repeat this step until all Sub-level commands have been added.

6.	Create a macro for each Sub-level command. 
Creating macros is described in Chapter 9Voice-Activated Macros. 

7.	Train the new commands.